﻿using System;

namespace Mono.Cecil
{
	// Token: 0x02000014 RID: 20
	public struct ArrayDimension
	{
		// Token: 0x17000013 RID: 19
		// (get) Token: 0x060000E1 RID: 225 RVA: 0x0000CC74 File Offset: 0x0000AE74
		// (set) Token: 0x060000E2 RID: 226 RVA: 0x00002B73 File Offset: 0x00000D73
		public int? LowerBound
		{
			get
			{
				return this.lower_bound;
			}
			set
			{
				this.lower_bound = value;
			}
		}

		// Token: 0x17000014 RID: 20
		// (get) Token: 0x060000E3 RID: 227 RVA: 0x0000CC8C File Offset: 0x0000AE8C
		// (set) Token: 0x060000E4 RID: 228 RVA: 0x00002B7D File Offset: 0x00000D7D
		public int? UpperBound
		{
			get
			{
				return this.upper_bound;
			}
			set
			{
				this.upper_bound = value;
			}
		}

		// Token: 0x17000015 RID: 21
		// (get) Token: 0x060000E5 RID: 229 RVA: 0x0000CCA4 File Offset: 0x0000AEA4
		public bool IsSized
		{
			get
			{
				return this.lower_bound != null || this.upper_bound != null;
			}
		}

		// Token: 0x060000E6 RID: 230 RVA: 0x00002B87 File Offset: 0x00000D87
		public ArrayDimension(int? lowerBound, int? upperBound)
		{
			this.lower_bound = lowerBound;
			this.upper_bound = upperBound;
		}

		// Token: 0x060000E7 RID: 231 RVA: 0x0000CCD4 File Offset: 0x0000AED4
		public override string ToString()
		{
			string result;
			if (this.IsSized)
			{
				int? num = this.lower_bound;
				string str = num.ToString();
				string str2 = "...";
				num = this.upper_bound;
				result = str + str2 + num.ToString();
			}
			else
			{
				result = string.Empty;
			}
			return result;
		}

		// Token: 0x0400005E RID: 94
		private int? lower_bound;

		// Token: 0x0400005F RID: 95
		private int? upper_bound;
	}
}
